package dao

// 这是 PmsProductFullReduction 的全局公开dao对象，被service层调用!
var PmsProductFullReductionDao = pmsProductFullReductionDao{}

// 这是 pms_product_full_reduction表 的实体类
type PmsProductFullReduction struct {
	FullPrice   float64 `json:"full_price" form:"full_price" v:"full_price"`
	Id          int64   `json:"id" form:"id" v:"id"`
	ProductId   int64   `json:"product_id" form:"product_id" v:"product_id"` // 这是一个逻辑外键,关联pms_product(id)
	ReducePrice float64 `json:"reduce_price" form:"reduce_price" v:"reduce_price"`
}

// 注意:这是 PmsProductFullReduction 的私有dao对象，只能在dao层内使用!
type pmsProductFullReductionDao struct {
	InsertTemplate func(arg PmsProductFullReduction) (int64, error)                               //插入一条记录
	UpdateTemplate func(arg PmsProductFullReduction) (int64, error)                               //更新一条记录
	DeleteTemplate func(id int64) (int64, error)                                                  `args:"id"`                         //根据传入的主键删除一条记录
	SelectTemplate func(id int64) (PmsProductFullReduction, error)                                `args:"id"`                         //根据传入的主键获取一条记录
	List           func(keyword string, pageNum, pageSize int) ([]PmsProductFullReduction, error) `args:"keyword,page_num,page_size"` //模糊分页查询
}

/*
// 这是 pms_product_full_reduction 表的Postman测试参数
// 该结构体中的字段就是: 前后端交互的json字段!
type PmsProductFullReductionPostman struct {
full_price
id
product_id
reduce_price

}*/

// 这是 pms_product_full_reduction 表的批量请求参数
type PmsProductFullReductionReq struct {
	List []PmsProductFullReduction `json:"list" form:"list"`
}
